// Decompiled by GOOSIN CO,LTD Copyright 2010 Pavel Kouznetsov.
// home page: http://www.Goosin.net
// Decompiler options: packimports(3) fieldsfirst ansi space 
// Source File Name:   register_ok.java

package qcs.sampling_standard;

import com.jspsmart.upload.*;
import include.nseer_cookie.*;
import include.nseer_db.nseer_db_backup1;
import java.io.IOException;
import java.net.URL;
import java.text.SimpleDateFormat;
import java.util.*;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.*;
import javax.servlet.jsp.JspFactory;

public class register_ok extends HttpServlet
{

	public register_ok()
	{
	}

	public synchronized void service(HttpServletRequest request, HttpServletResponse response)
		throws IOException, ServletException
	{
		HttpSession dbSession = request.getSession();
		JspFactory _jspxFactory = JspFactory.getDefaultFactory();
		javax.servlet.jsp.PageContext pageContext = _jspxFactory.getPageContext(this, request, response, "", true, 8192, true);
		ServletContext dbApplication = dbSession.getServletContext();
		try
		{
			HttpSession session = request.getSession();
			ServletContext context = session.getServletContext();
			String path = context.getRealPath("/");
			counter count = new counter(dbApplication);
			SmartUpload mySmartUpload = new SmartUpload();
			mySmartUpload.setCharset("UTF-8");
			nseer_db_backup1 qcs_db = new nseer_db_backup1(dbApplication);
			if (qcs_db.conn((String)dbSession.getAttribute("unit_db_name")))
			{
				mySmartUpload.initialize(pageContext);
				String file_type = getFileLength.getFileType((String)session.getAttribute("unit_db_name"));
				long d = getFileLength.getFileLength((String)session.getAttribute("unit_db_name"));
				mySmartUpload.setMaxFileSize(d);
				mySmartUpload.setAllowedFilesList(file_type);
				try
				{
					mySmartUpload.upload();
					String file_name[] = new String[mySmartUpload.getFiles().getCount()];
					Date now = new Date();
					SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");
					String time = formatter.format(now);
					String standard_id = NseerId.getId(getClass().getResource("").toString(), (String)dbSession.getAttribute("unit_db_name"));
					for (int i = 0; i < mySmartUpload.getFiles().getCount(); i++)
					{
						SmartFile file = mySmartUpload.getFiles().getFile(i);
						if (file.isMissing())
						{
							file_name[i] = "";
						} else
						{
							int filenum1 = count.read((String)dbSession.getAttribute("unit_db_name"), "qcsAttachmentcount");
							count.write((String)dbSession.getAttribute("unit_db_name"), "qcsAttachmentcount", filenum1);
							file_name[i] = (new StringBuilder(String.valueOf(filenum1))).append(file.getFileName()).toString();
							file.saveAs((new StringBuilder(String.valueOf(path))).append("qcs/file_attachments/").append(filenum1).append(file.getFileName()).toString());
						}
					}

					String standard_name = mySmartUpload.getRequest().getParameter("standard_name");
					String method_name = mySmartUpload.getRequest().getParameter("method_name");
					String designer = mySmartUpload.getRequest().getParameter("designer");
					String register = mySmartUpload.getRequest().getParameter("register");
					String register_ID = mySmartUpload.getRequest().getParameter("register_ID");
					String register_time = mySmartUpload.getRequest().getParameter("register_time");
					String bodyab = new String(mySmartUpload.getRequest().getParameter("remark").getBytes("UTF-8"), "UTF-8");
					String remark = exchange.toHtml(bodyab);
					String level_id = mySmartUpload.getRequest().getParameter("level_id");
					if (level_id == null)
						level_id = "";
					String class_id = mySmartUpload.getRequest().getParameter("class_id");
					if (class_id == null)
						class_id = "";
					String aql_id = mySmartUpload.getRequest().getParameter("aql_id");
					if (aql_id == null)
						aql_id = "";
					String sqla = "insert into qcs_sampling_standard(standard_id,standard_name,register_ID,register,register_time,sampling_method,designer,quality_level,mil_std,aql,remark";
					String sqlb = (new StringBuilder(") values ('")).append(standard_id).append("','").append(standard_name).append("','").append(register_ID).append("','").append(register).append("','").append(register_time).append("','").append(method_name).append("','").append(designer).append("','").append(level_id).append("','").append(class_id).append("','").append(aql_id).append("','").append(remark).append("'").toString();
					for (int i = 0; i < mySmartUpload.getFiles().getCount(); i++)
					{
						int p = i + 1;
						sqla = (new StringBuilder(String.valueOf(sqla))).append(",attachment").append(p).toString();
						sqlb = (new StringBuilder(String.valueOf(sqlb))).append(",'").append(file_name[i]).append("'").toString();
					}

					String sql = (new StringBuilder(String.valueOf(sqla))).append(sqlb).append(")").toString();
					qcs_db.executeUpdate(sql);
					String batch[] = mySmartUpload.getRequest().getParameterValues("batch");
					String sample[] = mySmartUpload.getRequest().getParameterValues("sample");
					String formula[] = mySmartUpload.getRequest().getParameterValues("formula");
					String accept[] = mySmartUpload.getRequest().getParameterValues("accept");
					String reject[] = mySmartUpload.getRequest().getParameterValues("reject");
					String sample_max[] = mySmartUpload.getRequest().getParameterValues("sample_max");
					String sample_max_temp = "";
					String formula_temp = "";
					for (int i = 0; i < batch.length; i++)
					{
						sample_max_temp = sample_max == null ? "" : sample_max[i];
						formula_temp = formula == null ? "" : formula[i];
						sql = (new StringBuilder("insert into qcs_sampling_standard_details(standard_id,standard_name,details_number,batch,sampling_amount,sampling_formula,sample_code,accept_amount,reject_amount) values('")).append(standard_id).append("','").append(standard_name).append("','").append(i).append("','").append(batch[i]).append("','").append(sample[i]).append("','").append(formula_temp).append("','").append(sample_max_temp).append("','").append(accept[i]).append("','").append(reject[i]).append("')").toString();
						qcs_db.executeUpdate(sql);
					}

					List rsList = GetWorkflow.getList(qcs_db, "qcs_config_workflow", "01");
					if (rsList.size() == 0)
					{
						sql = (new StringBuilder("update qcs_sampling_standard set check_tag='1' where standard_id='")).append(standard_id).append("'").toString();
						qcs_db.executeUpdate(sql);
					} else
					{
						for (Iterator ite = rsList.iterator(); ite.hasNext(); qcs_db.executeUpdate(sql))
						{
							String elem[] = (String[])ite.next();
							sql = (new StringBuilder("insert into qcs_workflow(config_id,object_ID,describe1,describe2) values ('")).append(elem[0]).append("','").append(standard_id).append("','").append(elem[1]).append("','").append(elem[2]).append("')").toString();
						}

					}
					response.sendRedirect("qcs/sampling_standard/register_ok.jsp?finished_tag=0");
					qcs_db.commit();
					qcs_db.close();
				}
				catch (Exception ex)
				{
					response.sendRedirect("qcs/sampling_standard/register_ok.jsp?finished_tag=1");
				}
			} else
			{
				response.sendRedirect("error_conn.htm");
			}
		}
		catch (Exception ex)
		{
			ex.printStackTrace();
		}
	}
}
